package com.qys.livesMall.anchor.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 直播场次表
 * </p>
 *
 * @author wzy
 * @since 2023-06-26
 */
@Getter
@Setter
@TableName("h2_anchor_lives_session")
@Schema(name = "AnchorLivesSession", description = "直播场次表")
public class AnchorLivesSession implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "场次id")
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;

    @Schema(description = "直播间id")
    private Long livesRoomId;

    @Schema(description = "直播场次名称")
    private String livesSessionName;

    @Schema(description = "主播id")
    private Long anchorId;

    @Schema(description = "主播名")
    private String anchorName;

    @Schema(description = "本场直播时长（分钟）")
    private Integer livesDuration;

    @Schema(description = "观看人数")
    private Integer viewsNumber;

    @Schema(description = "销售额")
    private BigDecimal salesAmount;

    @Schema(description = "销量")
    private Integer salesVolume;

    @Schema(description = "订单数量")
    private Integer orderQuantity;

    @Schema(description = "直播状态 1:已结束  2：开播中  3:已结算")
    private Byte livesStatus;

    @Schema(description = "开播时间")
    private LocalDateTime startTime;

    @Schema(description = "离开时间")
    private LocalDateTime departureTime;

    @Schema(description = "结束时间")
    private LocalDateTime endTime;

    @Schema(description = "点赞量")
    private Long likesNum;

    @Schema(description = "礼物价值")
    private BigDecimal goldNum;

    @Schema(description = "主播带货任务ID")
    private Long anchorSellTaskId;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "更新者")
    private String updateBy;

    @Schema(description = "平台结算状态（0：用户已确认，1：平台结算完成（达标结算）2：未达标结算完成）")
    private Integer platformSettlement;

    @Schema(description = "第三方推流地址")
    private String autoPushAddress;

    @Schema(description = "第三方推流的类型" +
            "PullLivePushLive -直播，" +
            "PullVodPushLive  -点播，")
    private String sourceType;

    @Schema(description = "备注")
    private String remark;
}
